package com.swt.gap.service;

import com.github.pagehelper.Page;
import com.swt.gap.model.entity.FileClass;
import com.swt.gap.model.vo.FileClassCountVO;
import com.swt.gap.model.vo.fileclass.AddOrUpdateFileClassModel;
import com.swt.gap.model.vo.fileclass.UserFileClassVO;

import java.util.List;

/**
 * @author zqw
 * @date 2020/5/11 18:27
 */
public interface FileClassService {
    /**
     * 新增或更新
     * @param addOrUpdateFileClassModel
     * @return
     */
    int addOrUpdateFileClass(AddOrUpdateFileClassModel addOrUpdateFileClassModel,Integer userId);

    /**查找类名的数量，如果fileClassId存在，就排除本身；
     * @param userId
     * @param fileClassName
     * @param fileClassId1
     * @return 数量
     */
    int countSameName(int userId, String fileClassName, int fileClassId1);

    /**
     * 删除分类
     * @param fileClassId
     * @return
     */
    int deleteFileClass(int fileClassId);

//    List<UserFileClassVO> getUserFileClassList(int userId, int fileClassId);

    List<UserFileClassVO> searchFileClass(int userId, String keyword, int fileClassId);
    /**查询用户下的数据
     * @param userIds
     * @param fileClassId
     * @return
     */
    Page<UserFileClassVO> getUserFileClassList(List<Integer> userIds, String keyword, Integer fileClassId);

    FileClassCountVO countFileByClass(List<Integer> userIds, String keyword, Integer fileClassId);

    /**
     * 根据id获取分类信息
     * @param fileClassId
     * @return
     */
    FileClass selectFileClassById(Integer fileClassId);
}
